//
//  NSObject+QWJSON.m
//  QWJSON
//
//  Created by Yunhai.Wu on 15/9/9.
//  Copyright (c) 2015年 WJ. All rights reserved.
//

#import "NSObject+QWJSON.h"

@implementation NSObject (QWJSON)

/**
 *  属性到JSON属性名称映射
 */
+(NSDictionary*) qwPropertyToJsonPropertyDictionary {
    return nil;
}

/**
 *  非JSON属性列表
 */
+(NSSet*) qwNonJsonPropertys {
    return nil;
}

///**
// *  容器属性类型（如果qwContainerPropertysGenericClass没有此property，则会调用此方法）
// *
// *  @param property     属性名称（非json属性名称）如果是NSArray，NSSet 则是属性名，如果是NSDictionary 则是key
// *  @param elementValue 元素值
// */
//+(Class) qwContainerPropertyClass:(NSString*) property value:(id) elementValue {
//    if ([self superclass] != Nil) {
//        return [[self superclass] qwContainerPropertyClass:property value:elementValue];
//    }
//    return Nil;
//}

/**
 *  容器属性类型
 *  key：属性名称
 *  value：类型（Class）支持NSDictionary，NSSet，NSArray
 */
+(NSDictionary*) qwContainerPropertysGenericClass {
    return nil;
}

+(NSString *)qwPropertyDateFormatString:(NSString *)property {
    return @"YYYY-MM-dd'T'HH:mm:ssZ";//Default ISO8601
}

/**
 *  自定义解析属性集合
 *
 *  @return 数据名称集合
 */
+(NSSet*) qwCustomHandlePropertys {
    return nil;
}

/**
 *  自定义处理属性（只有qwCustomHandlePropertys返回有属性需要自定义处理时才触发）
 *
 *  @param property 属性名称
 *  @param object   对应值
 */
-(void) qwCustomHandleProperty:(NSString*) property value:(id) object {}

@end